import axios from 'axios'
import { RequestOptions } from '../type/index'
//判断是否是生产环境
const isMode = import.meta.env.MODE === 'development'
// const token = JSON.parse(sessionStorage.getItem("token"))
export const baseURL = isMode
  ? 'http://localhost:3030'
  : 'http://localhost:3030'

// 添加请求拦截器
// axios.interceptors.request.use(
//   (config) => {
//     // 在发送请求之前做些什么
//     const token : string = JSON.parse(sessionStorage.getItem("token") || "")
//     if (token) {
//       config.headers.Authorization = token
//     }
//     return config
//   },
//   (error) => {
//     // 对请求错误做些什么
//     return Promise.reject(error)
//   }
// )
const request = ({
  url,
  path = '',
  params = {},
  data,
  method = 'POST',
  ...rest
}: RequestOptions) => {
  return new Promise((resole, reject) => {
    return axios({
      method,
      url: baseURL + path || url,
      data: {
        ...data,
        ...params
      },
      ...rest
    })
      .then((res) => {
        resole(res && res.data)
      })
      .catch((error) => {
        reject(error)
      })
  })
}
export default request
